import 'dart:developer';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_give/utils/LogUtils.dart';

import '../../route/route_utils.dart';
import '../../route/routes.dart';
import '../../tgpage/binding/qrcode.dart';
import 'home_page.dart';

/// 设备添加页面
class EqaddTypePage extends StatefulWidget {
  final String title;

  const EqaddTypePage({super.key, required this.title});

  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return _EqaddTypePageState();
  }
}

// Scaffold-固定写法
// appBar-页面标题
// Container-容器
// 当前页面变量
class _EqaddTypePageState extends State<EqaddTypePage> {
  // initState-周期函数-会在页面执行之前执行
  // 获取数据-第三方组件处理

  String? name;

  @override
  void initState() {
    // 执行
    super.initState();

    SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
      statusBarColor: Color(0xFFffffff), // 设置状态栏颜色
      statusBarIconBrightness: Brightness.dark, // 设置状态栏图标亮度为暗色
    ));

    // 组件初始化之后执行-就是nextTick
    // 路由页面传递settings参数
    WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
      var map = ModalRoute.of(context)?.settings.arguments;
      // print(ModalRoute.of(context)?.settings);
      // print(map);
      if (map is Map) {
        name = map["name"];

        setState(() {});
      }
    });
  }

  // widget.title-要等页面初始化之后才能使用
  // Widget-有状态组件-需要使用setState 更新
  // StateLessWidget-无状态组件
  Future<bool> _onWillPop() async {
    // 监听返回按钮操作
    LogUtils.w("用户点击了返回按钮");
    HomePageState.globalKeytwo.currentState?.reloadData();
    return true; // 返回true表示允许返回，返回false表示阻止返回
  }

  @override
  Widget build(BuildContext context) {
    return WillPopScope(
        child: Scaffold(
          // appBar: AppBar(title: Text(widget.title?? "")),
          appBar: AppBar(
            leading: IconButton(
              icon: Icon(Icons.arrow_back_ios), // 使用没有横线的返回箭头图标
              onPressed: () {
                _onWillPop();
                // 返回操作
                Navigator.of(context).pop();
              },
            ),
            automaticallyImplyLeading: false, // 禁用自动生成的返回按钮
            title: Text(
              name ?? "",
              style: TextStyle(
                fontSize: 17,
                fontFamily: "PingFang SC",
                fontWeight: FontWeight.w600,
              ),
            ),
            centerTitle: true,
          ),
          body: Container(
            color: Color(0xFFF2F3F5), // 设置背景颜色为灰色
            child: SafeArea(
              child: ListView.builder(
                  itemCount: 1,
                  itemBuilder: (context, index) {
                    return InkWell(
                      onTap: () {
                        print("点击了第 ${index + 1} 项");
                        // 犀云设备添加
                        // RouteUtils.pushForNamed(context, RoutePath.PairingPage);
                        // 探鸽设备添加
                        Navigator.push(
                            context,
                            MaterialPageRoute(
                                builder: (context) =>
                                    const BindingByQrcodePage()));
                      },
                      child: Container(
                        margin: EdgeInsets.symmetric(
                            vertical: 8.0, horizontal: 16.0),
                        decoration: BoxDecoration(
                          color: Colors.white,
                          borderRadius: BorderRadius.circular(8.0),
                          border: Border.all(color: Colors.white, width: 1.0),
                        ),
                        child: Padding(
                          padding: EdgeInsets.symmetric(
                              vertical: 20.0, horizontal: 12.0),
                          child: Row(children: [
                            Icon(Icons.qr_code, color: Colors.blue),
                            // 左边是图标
                            SizedBox(width: 16.0),
                            // 图标和右边内容之间的间距
                            Expanded(
                              child: Column(
                                  crossAxisAlignment: CrossAxisAlignment.start,
                                  children: [
                                    Text("设备扫码"),
                                    // 右边上部分内容
                                    SizedBox(height: 4.0),
                                    // 上下部分内容之间的间距
                                    Text("通过WIFI或者有线网络来连接摄像机"),
                                    // 右边下部分内容
                                  ]),
                            )
                          ]),
                        ),
                      ),
                    );
                  }),
            ),
          ),
        ),
        onWillPop: _onWillPop);
  }
}
